幾天前經過書店剛好看到這本書,就掏錢買了。這是Douglas Crockford的新作,九月才出中文版,出版者是O'Reilly。定價$420是有點貴(包括索引只有164頁),但是內容絕對值得這個價錢。
作者把Javascript分成兩個部份,一部分是他認為是這個語言裡面最有表現力而優雅的設計,另一部份是他認為不好的設計,告訴你原因,然後把他認為好的部份做了深入的介紹。
第二章介紹了他整理過的文法規則,第三章介紹物件,第四章介紹函式,第五章介紹繼承,第六章介紹陣列,第七章介紹正規運算式,第八章介紹方法,第九章介紹風格,第十章講美的部份。
幾乎所有需要知道關於Javascript的細節大概都解釋得很清楚,看過這本書應該不會再有疑問了吧?
引第一章的幾段做結束,這一段簡要地點出了這個語言的特性:
JavaScript建立在幾個非常優秀與幾個非常糟糕的構想上。
非常優良的構想包括函式、寬鬆型別(loose typing)、動態物件(dynamic object),還有富表達性的物件實字註記(expressive object literal notation)。糟糕的構想裡,包括一個以全域變數為基礎的程式設計模型(programming model)。
JavaScript的函式是(大多數)具有lexical scoping的first class物件。JavaScript是第一個躍上主流的lambda語言。骨子裡,JavaScript與Lisp和Scheme的相似程度遠大於Java。JavaScript是披著C外衣的Lisp,是個引人注目的強大語言。
......
我是英文版出的時候,就在Amazon上訂了呢,不過中文版出來後,還是又給他買了一本。比起英文版的價格,中文版還算便宜啦。
Douglas Crockford真的是很強,看到第二章,就覺得好像是要把自己當成直譯器一樣來理解JavaScript。不過這樣做也有好處,有些時候,JavaScript到底這樣寫有沒有問題,回頭想想它的文法,也就通了。
Crockford在書中提到,早年他覺得學會一個程式的每一個函式,每一種用法,而且在不同的場合想盡辦法用上,就像是個活字典一般,是很了不起的事;日子久了他才發覺,其實語言有好的部份,也有壞的部份,選擇優良的部份使用,才能將一個程式語言的精華發揮出來。而這也是一個好的開發人員的價值所在。
由於近年來JavaScript鹹魚翻身,因此有許多別的程式語言的開發人員,也必須寫JavaScript,以其他的語言來看JavaScript,會有一種走入異鄉異境的感覺,處處扞格不入。這時,程式開發人員往往不是選擇去深入JavaScript,而是用熟悉的語言習慣去駕馭它。由於JavaScript天生的彈性,這樣往往也行得通,但或多或少,便失去了它富有的特性與潛質。
因此Crockford這本書,也頗有撥亂反正的味道,直指JavaScript之所以為JavaScript的獨特之處,並教大家如何用JavaScript的精神去寫JavaScirpt。
因此如果想要了解JavaScript何以如此靈活,想要知道它獨特的物件觀,想要深入它的函式祕境,想要知道如何避開JavaScript的原罪-全域變數...等,這本小書都會有不錯的指引。
您的討論比我的分享還詳細哪,汗......
我只是話多,又剛好喜歡JavaScript :p
要跟fillano大大學的地方還很多,日後還請多指教。
(結果回應也比較長...果然話多不證自明)